jQuery-事件

15次阅读
没有评论

共计 1364 个字符,预计需要花费 4 分钟才能阅读完成。

jQuery 事件注册

    element.事件(function() {

    })

    $(".btn").click(function() {
        // 事件处理程序
    })

其他事件和原生基本一致

比如 mouseovermouseoutblurfocuschangekeydownkeyupresizescroll

jQuery 事件处理

on() 方法在匹配元素上绑定一个或多个事件的事件处理函数

    element.on(events, [selector], fn)
  1. events:一个或多个用空格分隔的事件类型,如 clickkeydown
  2. selector:元素的子元素选择器
  3. fn:回调函数即绑定在元素身上的侦听函数

on() 可以绑定多个事件,多个处理程序

    $(".box").on({
        mouseenter: function() {
            $(this).css("color","red")
        },
        click: function() {
            $(this).css("color","blue")
        },
        mouseleave: function() {
            $(this).css("color","green")
        },
    })

    $(".box").on("mouseenter mouseleave", function() {
        $(this).toggleClass("current")
    })

如果有的事件只想触发一次,可以用 one() 来绑定事件,使用方法同上

on() 可以事件委派操作

    $("ul").on("click", "li", function() {
        alert("Hell Word")
    })

on() 可以给动态生成的元素绑定事件

    $("ol").on("click", "li", function() {
        alert("Hell Word")
    })

事件处理 off() 解绑事件

off() 方法可以移除通过 on() 方法添加的事件处理程序

    $("div").off() // 解绑div元素所有的事件处理程序

    $("div").off("click") // 解绑div元素里面的点击事件

    $("ul").off("click", "li") // 解绑事件委托

自动触发事件 trigger()

有些事件希望自动触发,比如轮播图自动播放功能跟点击右侧按钮一致;可以利用定时器自动触发右侧按钮点击事件,不必鼠标点击触发

    element.click() // 第一种简写形式
    $("div").click()

    element.trigger("click") // 第二种自动触发模式
    $("div").trigger("click")

    $("div").on("click", function() {
        alert("Hi~")
    })
    $("div").trigger("click") // 此时自动触发点击事件,不需要鼠标点击

    element.triggerHandler(type) // 第三种自动触发模式
    $("input").triggerHandler("focus") // 触发事件不会有光标闪烁

jQuery 事件对象

事件被触发,就会有事件对象的产生

    element.on(events, [selector], function(event) {

    })
  • 阻止默认行为:event.preventDefault() 或者 return false
  • 阻止冒泡:event.stopPropagation()

正文完
 0
qiaofugui.cn
版权声明:本站原创文章,由 qiaofugui.cn 于2024-05-21发表,共计1364字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码